perm filename RCV.BH[UP,DOC] blob sn#220641 filedate 1976-06-21 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	                              The RCV Program
C00027 ENDMK
C⊗;
                              The RCV Program


The RCV program allows MAIL  messages to be selectively deleted,  listed, or
saved as  desired.  The  program is  called by  simply entering  the monitor
command RCV.  All  mail files which  can be construed  as being for  you are
offered for  your perusal.  It  is also possible  to edit other  users' mail
files with RCV by giving an argument, e.g., RCV BH.  The command  RCV * will
allow editing of the system message file NOTICE.TXT[2,2], and RCV GRIPE will
allow editing of  messages sent by the  GRIPE command.  Most mail  files are
maintained in E format,  and E format is not  preserved when such a  file is
edited with RCV--therefore:

*** NOTE: IF YOU EDIT AN E-FORMATTED FILE, RCV WILL INVALIDATE ***
*** THE DIRECTORY PAGE AND ISSUE A WARNING.  SUCH FILES SHOULD ***
*** USUALLY BE EDITED WITH E TO PRESERVE THE PAGES AND FORMAT. ***

RCV also allows editing of  the files created by the news  service automatic
notification feature; the command RCV \ will present your  notifications for
editing, and RCV \PRG will allow you to edit the notifications sent  to user
PRG.

It is also possible to use RCV on files not in [2,2] (such as  saved message
files previously created with RCV) with a command like:

RCV #filename

with default of  DSK:SAVED.MSG in your  (alias) disk area.   The conventions
given below for output filenames also apply here.

Finally, the command RCV ?PRG will type the plan file for user PRG, if there
is such a file.  In this case, the file is merely typed, not edited.

** NOTE: ONCE RCV HAS OPENED A MESSAGE FILE, YOU SHOULD EXIT ONLY **
** BY TYPING "E" TO AN OPTION REQUEST, AS EXPLAINED BELOW. TYPING **
** <CALL> TO EXIT MAY RESULT IN LOSING SOME OF YOUR MESSAGE TEXT! **

If none of the messages in an input file is deleted or changed, RCV does not
write out a new version of  the file; thus the file's time and  date written
are unchanged, and, particularly, any ETV directory the file may have had is
still intact.

RCV deletes without comment all formfeed characters in any file edited (that
is, any file actually changed).  Thus  any page structure of such a  file is
destroyed by RCV.

When a mail file  is opened, messages are typed  out one at a time,  and for
each message you may select several processing options, in the format

<options> [ <space> <filename> ] <cr>

where the [...] represents an optional argument.  Each option is represented
by a letter; more  than one may be used,  except that a few options  must be
used alone, as noted below.  The filename may be specified if you select the
C (copy) or T  (transfer) option.  For help in  specifying a file, use  ? as
the filename.  Here are the option letters which select a  final disposition
for the message:

  S  Save the message in the mail file.
  D  Delete it from the mail file.
  C  Copy it to a file of your choice.
  T  Transfer it to a file.  Like CD.
  L  LPT spool it.
  X  XGP spool it.
  K  Transfer it to the file LOGOUT.MSG, which will be typed automatically
     when you log out.

If none of the above are used, the message will be Saved.   Combinations may
be used, e.g., LD will spool the message on the LPT and also delete  it from
the  mail file.   The message  will be  Saved unless  D or  T  is explicitly
specified.  Along with any of the  above (or alone, implying S) may  be used
at most one of the following editing options:

  A  Append to the message from the terminal.
  Z  (Stanford  displays only)  Edit  the message  line-by-line  using the
     system  line  editor.  If  you  need help  with  this  facility, type
     <control><meta>? after entering the line editing mode.
  M  (Stanford  displays  only) Modify  the  message by  running  the text
     editor, E, with that message  as its input.  Return from E  by typing
     <control>X RUN.

Along with  any of the  above, or  alone, can be  used the  following option
letters to avoid seeing more messages:

  E  Exit, and enter spooling requests from L or X options.
  N  Go to the Next mail file, if any, else exit like E.

If the message was  longer than the amount  RCV types out before  asking for
option requests,  the following  option may  be used  along with  any others
specified:

  Q  Quiet  processing; do  not type  the remainder  of the  message while
     processing it as usual.

Note: E or N with no other options implies Q  automatically.  Alternatively,
any of the following may be used as the only option, for special processing:

  P  Postpone the  decision for  this message.  This  applies only  if the
     message  was  longer than  the  amount RCV  types  before  asking for
     options, and you wish to see the rest of the message  before choosing
     options.
  ?  Type this option list.

Spooling requested by L or X is not done until RCV is exited (by typing E to
an option request, or by running out of input).  The default filename  for C
and T  is DSK:SAVED.MSG  in your alias  area.  Filenames  may only  be given
along  with a  C or  T option;  if C  or T  is used  without a  filename the
previous  file is  continued.  (The  first  time, you  will be  asked  for a
filename, which may be simply <cr> for SAVED.MSG.)

If you use an argument in  the RCV command to edit another user's  mail, the
first time you specify any option which would remove a message from the mail
file or  alter its  contents you  are asked  to confirm  it.  Once  you have
confirmed such an option, however, you are not asked again.

There are two options provided at Stanford displays for editing the  text of
a message.  The M option writes  the message in a disk file,  QQRCV.TMP, and
runs the E  editor, which allows great  flexibility because of  E's powerful
editing  capability.   However, it  is  rather slow,  because  all  of RCV's
internal information and  all the message files  must be saved on  the disk.
For minor  corrections to  a short message,  you may  prefer the  weaker but
faster editing capability  provided in RCV itself  by the Z option.   If you
select that option, the lines in  your message will be presented to  you one
by one in your  terminal's line editor.  You  may edit each line,  using the
normal line editor commands, and type  <cr> when done with a line.   You may
also type the following special characters (α means control, β means meta):

  α<cr>    Accept the current line as  it now appears in your  line editor
           buffer and stop line editing, accepting the rest of the message
           as is.
  αβD      Delete the current line.
  <alt>    Undo the changes  in this line, loading  a fresh copy  into the
           line editor.
  αβ<cr>   Accept lines to be  inserted before the current line,  until an
           inserted  line is  terminated with  α<cr> instead  of  <cr>, or
           <alt> is typed at a blank line.
  αβI      Same as αβ<cr>.
  αD       (at the end of a line) Combine this and the next line  and load
           the combined line into the line editor.
  β<cr>    Break the line at the cursor, accepting the text to the left of
           the cursor as it stands and editing the remaining text as a new
           line.
  αβA      Leave line edit  mode, as for α<cr>,  but accept text  from the
           terminal to be  appended after the existing  text, as if  the A
           option had been selected.
  αβ?      Type this list.

Blank  lines presented  for editing  in the  Z option  are indicated  by the
typing out of a  space before loading the  line editor with the  empty line;
thus originally empty lines will be indented in the typeout.  In both  M and
Z options,  the initial header  line is  not edited.  In  the Z  option, the
blank  line at  the end  of the  message is  not edited.   In the  A option,
appended text will be inserted in front of the blank line at the end  of the
message, unless the P option was previously used on the current message.

The first time you specify C or  T, you are asked to specify a file  name if
one  was not  included in  the option  line.  You  can reply  with  either a
standard  filename, ?,  or  <cr>.  Just  <cr>  uses the  default  file name,
DSK:SAVED.MSG in your (alias) area.  Just ? will print a helpful message and
let you try again.  Thereafter, whatever file you specified will be used for
all  C and  T messages  (the file  is not  closed until  you exit  or select
another one) until you specify a new filename along with a C or T  option as
described above.   Note: if the  specified file already  exists and is  in E
format, the  new messages are  added at the  end of the  file preceded  by a
single formfeed; if the file already exists but is not in E format,  the new
messages are  added at  the beginning  of the  file.  If  the file  does not
already exist, it is created in E format and a warning that you are creating
a new file is issued.

If all messages are  removed from an input  file, the file is  deleted after
all output  files are closed,  unless the input  file is named  OUTGO.MSG in
which case the empty file (which may actually contain a few spaces, carriage
returns, and linefeeds) will survive.   If none of the messages in  an input
file is  deleted or changed,  RCV does not  write out a  new version  of the
file;  thus  the   file's  time  and   date  written  are   unchanged,  and,
particularly, any ETV directory the file may have had is still intact.

The  notation ↓chars↓  may be  used to  get non-alphameric  characters  in a
filename.  In addition, a shorthand notation is provided for  entering names
of mail files: if  the character ∂ is  the first character of  the filename,
then the device becomes DSK, the default extension .MSG, and the default ppn
[2,2].  (The extension  and ppn can be  changed later in the  filename.)  If
the next non-blank  character is not alphameric,  the filename used  is your
programmer name right  justified, e.g., ↓   REG↓.   (Note that this  is your
own  login  name, not  the  name whose  mail  you are  editing.)   Thus, the
filename  ∂ represents  your own  mail file.   You can  specify  a different
programmer name with  the format ∂prg  and either this  or the format  ∂ can
also  be optionally  followed by  an extension  and/or a  PPN to  change the
default values as described above, e.g., ∂.PUR or ∂[1,ME].

RCV has a  fairly small message  buffer.  If a  message is longer  than that
buffer, seeing the first few lines of the message may tell you  enough about
it to decide how to process it without seeing the rest.  Therefore,  in that
case, you will see  as much as fits, followed  by an overflow notice  and an
option request.  After you enter  the desired options, the remainder  of the
message will be typed  as it is being processed,  so you may safely  use the
Delete option and you will still  see the rest of the message.  If  you want
to avoid this continued typeout,  type the letter Q (for Quiet)  before your
option  choice, e.g.,  QD for  Quiet Delete.   Q is  only recognized  when a
message overflows.  If you  select E or N with  no other options, you  get Q
automatically.  If this is not what you want, type, e.g., SE.  If  you wish,
you may  postpone the  decision on how  to process  the message  until after
seeing the rest of  it, by typing P to  the option request.  This  will type
the remainder of the message and ask again for options.  QP is  illegal, and
P is only legal when a message overflows.

RCV may be used when not logged in; however, each user can control access to
his own  mail, by  OPTION.TXT options.   Three possibilities  are available.
The default is no access.  To  allow your mail to be read but  not modified,
put

RCV:READ

in your OPTION.TXT file.  If  the not-logged-in user types RCV PRG  the file
examined is  OPTION.TXT[1,PRG].  You may  also allow not-logged-in  users to
edit your mail file as if they were logged in by using

RCV:WRITE

as the option.

Not-logged-in users at Stanford display terminals (Data Disc or  III) always
have at least READ access to mail.

It should be noted that the normal file protection mechanism  still applies,
so that most options which involve copying the message to another  file will
not work when not logged in.  This includes C, T, K, L, X, M, and P.

A not-logged-in user who is reading mail as permitted by the READ option may
safely use <call> to quit RCV.

There  is a  special option  available  in RCV  for reading  the  A.P.  news
digest.  This option  is provided when the  RCV command is given  without an
argument, if you have an OPTION.TXT file with a line of the form

RCV:DIGEST;

You are asked  "Read A.P. digest?" if the  digest file exists.   This option
may be used along with READ or WRITE as described earlier.

Another special option available through the OPTION.TXT file is:

RCV:NOMAIL;

If you have this  option and give the  RCV command without an  argument, RCV
ignores your main message file and simply processes any other files which it
would normally handle.   This is provided for  users of various  special RCV
features (such as  DIGEST above) who  use E to  edit their mail  files since
mail files  are now  normally in E  format.  To  override the  NOMAIL option
(i.e.,  to  edit  your  mail  file  with  RCV),  give  your  programmer name
explicitly in the command, e.g., RCV PRG.

For use at non-Stanford  terminals, RCV has a  mode in which it  accepts tty
input in SOS representation (see Appendix 13  of the Monitor Command Manual,
in  the file MONCOM.BH[S,DOC]).   The  main reason for  this is to  allow ?*
instead of ∂ for redirecting messages to another mail file, but it  can also
be used with the append option to allow appending upper/lower case text from
an upper-case-only terminal.  The following notes apply:

1.  When RCV is started, it decides whether or not to use SOS representation
on  the  basis of  the  FCS (full  character  set) bit  maintained  for each
terminal by the monitor.  This bit is set by the TTY FULL command  (or ESC F
at a Stanford display) and cleared by TTY NO FULL (or BREAK F).

2.  Whenever RCV reads an altmode character from the tty, it will  enter SOS
mode and otherwise ignore the altmode, except that if you are already in SOS
mode the sequence ?<alt> will leave that mode.  (If you are not in SOS mode,
of course, the ?  will be taken as a  real question mark and the  <alt> will
enter SOS mode!)

3.  These  comments apply even  to the original  command line,  although the
monitor will echo  a crlf after  the altmode to  confuse you.  Note  that if
your FCS bit  is off and you  want to invoke the  RCV feature which  types a
user's plan file, you must say RCV ??prg instead of RCV ?prg as usual.

4.  Under no  circumstances is tty output  done via SOS conversion.   I hate
seeing all those question marks!

5.  If you are in SOS mode  and type ? followed by a character which  is not
defined  as an  SOS code,  the  character will  be treated,  and  echoed, as
ASCII 7; this will ring your tty's bell if it has one, give an error message
if you are responding to an  option request, and insert a π in  your message
if you are appending.